#include "delay.h"

// 微秒级延迟
void delay_us(uint32_t xus)
{
    uint32_t i;
    SysTick_Config(72); // 72分频, 1Mhz = 1us
    for(i=0; i<xus; i++)
    {   
        while(!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));
        //第16位为1时，重装完成一次
    }
    
    // 第0位为0，关闭定时器
    SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;
}

// 毫秒级延迟
void delay_ms(uint32_t xms)
{
   while(xms--)
   {
       delay_us(1000);
   }
}
